﻿using System.Collections.Generic;

namespace Iptv.ResourceGather.Model
{
    /// <summary>
    /// 采集服务配置
    /// </summary>
    public class GatherSrvConfig
    {
        /// <summary>
        /// 配置文件版本
        /// </summary>
        public string ConfigVersion { get; set; }
        /// <summary>
        /// 介质采集许可
        /// </summary>
        public bool AllowMediaGather { get; set; }
        /// <summary>
        /// 元数据采集许可
        /// </summary>
        public bool AllowMetaGather { get; set; }
        /// <summary>
        /// 采集规则本地配置/内容供应商采集配置 文件本地
        /// </summary>
        public string ContentProviderConfig { get; set; } = "MediaProviderConfig.json";
        /// <summary>
        /// 采集服务标记
        /// </summary>
        public string GatherSrvTag { get; set; }
        /// <summary>
        /// 采集服务HTTP请求类型 GET POST
        /// </summary>
        public string TaskGatherType { get; set; }
        /// <summary>
        /// 采集服务地址
        /// </summary>
        public string TaskGatherHost { get; set; }
        /// <summary>
        /// 上报服务HTTP请求类型 GET POST
        /// </summary>
        public string TaskReportType { get; set; }
        /// <summary>
        /// 上报服务地址
        /// </summary>
        public string TaskReportHost { get; set; }
        /// <summary>
        /// 上报模型模板
        /// </summary>
        public string TaskReportTemplate { get; set; }
        /// <summary>
        /// 任务重试次数
        /// </summary>
        public int TaskRedoTimes { get; set; }
        /// <summary>
        /// 任务最大数量
        /// </summary>
        public int TaskMaxCount { get; set; }
        /// <summary>
        /// 视频资源格式限制
        /// </summary>
        public List<string> MediaFormat { get; set; }
        /// <summary>
        /// 音频资源格式限制
        /// </summary>
        public List<string> AudioFormat { get; set; }
        /// <summary>
        /// 过期文件迁移允许
        /// </summary>
        public bool AllowExpiredTransfer { get; set; } = true;
        /// <summary>
        /// 过期时长 天  默认100天前文件即为过期
        /// </summary>
        public int ExpiredTime { get; set; } = 100;
        /// <summary>
        /// 过期文件回收根目录
        /// </summary>
        public string RecyclebinRoot { get; set; }
    }
}
